Une bonne explication des difficultés de la sécurité d'une authentification RESTful (ou non). Un peu simpliste et dépassé par endroit, mais les principes de bases restent les mêmes !
Où comment voir l'évolution des DateTimePicker avec le temps. L'avenir (i.e. HTML5) récent étant pour l'instant difficilement utilisable :-)
Autant les articles de http://24ways.org sont assez nuls cette année. Autant ceux de http://www.24joursdeweb.fr/ sont toujours aussi géniaux !
ça fait plusieurs fois que j'entends parler de "Renault Zoé -> DRM", et à chaque fois je suis franchement embêté.
Pour le coup, Renault tente par tous les moyens de rendre la voiture électrique disponible et accessible. Et pourtant, le modèle économique et l'infrastructure n'est pour l'instant pas prêt du tout. En effet, aujourd'hui, la Zoé coûte 20 000€, soit 13 000€ avec les aides du gouvernement, soit le prix d'une Clio. Auxquels il faut ajouter 75€/mois pour la location de la batterie, et bien sûr, l'achat d'une borne de chargement pour chez soit (compter 2000€ environ). En vendant la batterie, il faudrait doubler (ou plus) ce prix.
Bref, le dilemme de Renault, et de tout les constructeurs qui se lancent, j'oserai dire "courageusement" (même s'il y a un bon pactole à l'arrivée), dans le véhicule électrique, c'est le modèle économique et l'infrastructure. Renault a fait le choix de commencer par louer la batterie pour diminuer les coûts. Tu achètes la voiture, mais la batterie n'est pas à toi. Si tu ne paies pas la location, tu ne recharges pas... Ma foi, c'est logique. Même si en philosophie Informatique c'est certes extrêmement gênant comme fonctionnalité.
Fort heureusement, d'autres constructeurs font des voitures électriques plus luxueuses et peuvent se permettre de vendre la batterie. Quand les ventes de véhicules électriques augmenteront, il sera alors avantageux pour Renault de vendre aussi leur batterie (voire de proposer la location ou la vente aux clients. Après tout certains s'imaginent qu'un jour plus personnes n'aura de voitures et tout le monde commandera un véhicule selon ses besoins). La situation est d'autant moins inquiétantes que socialement la location d'une partie d'un véhicule pose des problèmes. Si c'est acceptable aujourd'hui pour la situation intermédiaire où nous sommes, cela risque plutôt de devenir un "service" à l'avenir.
Il y aurait de quoi écrire et débattre à ce sujet. Je pense sincèrement que le terme de DRM ici n'est pas le bon, et que le débat est tout autre. On (hackeurs, informaticiens, énergéticiens, électroniciens, ...) ferait mieux de se casser à rendre l'infrastructure et les normes disponibles, notamment pour éviter de payer les bornes de chargement, et les câbles associés, une fortune !
J'ai écrit un article pour la création d'un nouveau clavier il a biiieeenn longtemps ! A part que je ne connaissais pas bépo à l'époque, et que mon analyse est un peu biaisée : pourquoi ne rajouterait-on pas des pédales à nos claviers ? Pour les touches "Ctrl", "Alt", "Maj", ... C'était une bonne idée, non ?
En attendant de détailler mes bidouilles, ou de tester des bibliothèques tierces, voici au moins un petit état de l'art de ce que j'ai trouvé pour dessiner des graphiques / courbes / histogrammes en Qt.
Je ne sais plus où j'ai trouvé ce benchmark, mais il est pas mal du tout.
Finalement, un des benchmark qui m'a le plus impressionné et l'un de ceux que je connaissais déjà : for ($i = 0; $i < count($array); $i++) est lent par rapport à for ($i = 0, $count = count($array); $i < $count; $i++). Je ne savais pas que c'était à ce point (x40 pour un tableau de 128 caractères).
Mince ça à l'air rapide. Plus rapide que openlayer que j'ai déjà utilisé pour afficher des cartes OpenStreetMap. J'espère avoir l'occasion de tester dans un futur projet.
Amusant que quelqu'un se soit amusé à étiqueter la Bible ainsi.
Mais j'ai certains doutes quant à la véracité de la chose. Je pense qu'il y aurait beaucoup plus de post-it. Notamment des jaunes (esclavage) qui est très présent dans l'ancien testament. Et de voir si peu de violet (sacrifice animal / humain, étrange mélange, il aurait mieux valu séparer les deux) c'est le plus flagrant. Une grande partie de la vie du peuple Hébreux tournait autour des sacrifices (qui n'était pas qu'animal, mais aussi végétal. En aucun cas humain ! Quelle horreur !).
Cela dit, à mon sens, il ne faut pas se tromper de cibles ici...
Une partie des cas de misogynie et d'esclavage racontés dans la Bible sont dérangeants pour nous aujourd'hui, mais c'était une autre époque, une autre culture.
Pour tout le reste, la Bible dénonce justement les erreurs de l'être humain, les horreurs qu'il est capable d'accomplir envers lui-même, envers la nature, envers d'autres humains. Le meurtre était déjà présent à l'époque, l'exploitation abusive des champs et des bêtes notamment aux détriments des plus pauvres, les prêts à taux outranciers, ... Tout ça n'est pas nouveau, et la Bible ne cesse de le dénoncer.
Fort heureusement, il y a aussi plein de belles choses à lire dans la Bible ! De quoi croire un peu plus en l'homme ! Et en Dieu si affinités.
Tiens, je suis retombé sur cette anecdote que j'avais publié en 2011 : "En 1987, la NSA a cherché à empêcher Amos Fiat et Adi Shamir (tous deux non-américains, travaillant en dehors des Etats-Unis) de publier leurs recherches sur les algorithmes Zeo-Knowledge Proof of Identity."
ça paraît beaucoup plus crédible aujourd'hui :-) Au final, le monde n'est certes pas immuable, mais les hommes restent les hommes.
Le livre Git (en français comme en anglais) est toujours aussi chouette. Aujourd'hui c'est une bonne explication sur les tags. Pour plus d'info : git help tag.
(via http://sebsauvage.net/links/?o0AQ0w)
En C++, une classe est automatiquement amie d'elle même. Ce qui explique l'on puisse appeler un objet privée de la classe dans le constructeur de copie. Ahhhhh !!! Je comprends mieux.
Exemple :
class MyClass {
public:
MyCLass() : myVar(0) {}
MyClass(const MyClass& parent) {
myVar = parent.myVar; // will work and is possible
// myVar = parent.myVar(); // won't work like this. myVar() has to be "int myVar() const;"
}
int myVar() { return myVar_; }
private:
int myVar_;
};
Utilisation avancée de qmake, notamment la gestion des variables. Voilà ce que je cherchais depuis quelques temps...
Pas mal pour débuter avec Sublime Text (je n'ai pas dis que j'encourageais Sublime Text).
Du coup, j'en ai fait un article :-) J'en profite pour ajouter pas mal d'autres erreurs que j'ai rencontré avec les signaux / slots de Qt.
Arg, pour connecter un QObject qui a été forward declared (class MyQObject dans le .h de l'utilisateur), il ne faut pas oublier d'inclure réellement le .h du QObject (dans le .cpp de l'utilisateur) pour éviter l'erreur à la compile : "No matching function for call to connect".
Mari d'instit (ah pardon, professeur des écoles), j'en sais quelque chose.